/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package br.edu.usuario;

import br.edu.pergunta.Pergunta;
import br.edu.util.GenericDAO;
import br.edu.util.HibernateUtil;
import java.util.List;
import org.hibernate.criterion.Restrictions;


/**
 *
 * @author 'Pedro
 */
public class UsuarioDAO extends GenericDAO<Usuario>{

    public UsuarioDAO() {
        super(Usuario.class);
    }
    
    public boolean autenticar(Usuario usuario){
        setSessao(HibernateUtil.getSessionFactory().openSession());
        setTransacao(getSessao().beginTransaction());
        Usuario usu = (Usuario) getSessao().createCriteria(Usuario.class).
                add(Restrictions.eq("login", usuario.getLogin())).
                add(Restrictions.eq("senha", usuario.getSenha())).uniqueResult();
        getSessao().close();
        return usu!=null;        
    }
    
    public List<Usuario> pesquisarNomeLike(String text) {
        List<Usuario> usuarios=null;
        setSessao(HibernateUtil.getSessionFactory().openSession());
        setTransacao(getSessao().beginTransaction());
        usuarios = (List<Usuario>) getSessao().createCriteria(Usuario.class).add(Restrictions.ilike("nome", text)).list();
        getSessao().close();
        return usuarios;
    }

    public Usuario pesquisarCodigo(Integer valueOf) {
        Usuario usuario;
        setSessao(HibernateUtil.getSessionFactory().openSession());
        setTransacao(getSessao().beginTransaction());
        usuario = (Usuario) getSessao().createCriteria(Usuario.class).add(Restrictions.eq("id", valueOf)).uniqueResult();
        getSessao().close();
        return usuario;
    }
    
}
